{ QTAtomTypes for atoms in image compressor settings containers }
CONST
kImageCodecSettingsFieldCount = 'fiel'; { Number of fields (UInt8) }
kImageCodecSettingsFieldOrdering = 'fdom'; { Ordering of fields (UInt8) }
kImageCodecSettingsFieldOrderingF1F2 = 1;
kImageCodecSettingsFieldOrderingF2F1 = 2;
TYPE
{$IFC TYPED_FUNCTION_POINTERS}
ImageCodecMPDrawBandProcPtr = FUNCTION(refcon: UNIV Ptr; VAR drp: ImageSubCodecDecompressRecord): ComponentResult;
{$ELSEC}
ImageCodecMPDrawBandProcPtr = ProcPtr;
{$ENDC}
ImageCodecMPDrawBandUPP = UniversalProcPtr;
CONST
uppImageCodecMPDrawBandProcInfo = $000003F0;
FUNCTION NewImageCodecMPDrawBandProc(userRoutine: ImageCodecMPDrawBandProcPtr): ImageCodecMPDrawBandUPP;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2E9F;
{$ENDC}
FUNCTION CallImageCodecMPDrawBandProc(refcon: UNIV Ptr; VAR drp: ImageSubCodecDecompressRecord; userRoutine: ImageCodecMPDrawBandUPP): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $205F, $4E90;
{$ENDC}
{ codec selectors 0-127 are reserved by Apple }
{ codec selectors 128-191 are subtype specific }
{ codec selectors 192-255 are vendor specific }
{ codec selectors 256-32767 are available for general use }
{ negative selectors are reserved by the Component Manager }
FUNCTION ImageCodecGetCodecInfo(ci: ComponentInstance; VAR info: CodecInfo): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0000, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecGetCompressionTime(ci: ComponentInstance; src: PixMapHandle; {CONST}VAR srcRect: Rect; depth: INTEGER; VAR spatialQuality: CodecQ; VAR temporalQuality: CodecQ; VAR time: UInt32): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0016, $0001, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecGetMaxCompressionSize(ci: ComponentInstance; src: PixMapHandle; {CONST}VAR srcRect: Rect; depth: INTEGER; quality: CodecQ; VAR size: LONGINT): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0012, $0002, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecPreCompress(ci: ComponentInstance; VAR params: CodecCompressParams): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0003, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecBandCompress(ci: ComponentInstance; VAR params: CodecCompressParams): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0004, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecPreDecompress(ci: ComponentInstance; VAR params: CodecDecompressParams): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0005, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecBandDecompress(ci: ComponentInstance; VAR params: CodecDecompressParams): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0006, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecBusy(ci: ComponentInstance; seq: ImageSequence): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0007, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecGetCompressedImageSize(ci: ComponentInstance; desc: ImageDescriptionHandle; data: Ptr; bufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; VAR dataSize: LONGINT): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0014, $0008, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecGetSimilarity(ci: ComponentInstance; src: PixMapHandle; {CONST}VAR srcRect: Rect; desc: ImageDescriptionHandle; data: Ptr; VAR similarity: Fixed): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000C, $0020, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecNewImageGWorld(ci: ComponentInstance; VAR params: CodecDecompressParams; VAR newGW: GWorldPtr; flags: LONGINT): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000C, $0021, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecDisposeImageGWorld(ci: ComponentInstance; theGW: GWorldPtr): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0022, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecHitTestDataWithFlags(ci: ComponentInstance; desc: ImageDescriptionHandle; data: UNIV Ptr; dataSize: Size; where: Point; VAR hit: LONGINT; hitFlags: LONGINT): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0018, $0023, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecValidateParameters(ci: ComponentInstance; parameters: QTAtomContainer; validationFlags: QTParameterValidationOptions; errorString: StringPtr): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000C, $0024, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecGetBaseMPWorkFunction(ci: ComponentInstance; VAR workFunction: ComponentMPWorkFunctionUPP; VAR refCon: UNIV Ptr; drawProc: ImageCodecMPDrawBandUPP; drawProcRefCon: UNIV Ptr): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0010, $0025, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecPreflight(ci: ComponentInstance; VAR params: CodecDecompressParams): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0200, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecInitialize(ci: ComponentInstance; VAR cap: ImageSubCodecDecompressCapabilities): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0201, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecBeginBand(ci: ComponentInstance; VAR params: CodecDecompressParams; VAR drp: ImageSubCodecDecompressRecord; flags: LONGINT): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000C, $0202, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecDrawBand(ci: ComponentInstance; VAR drp: ImageSubCodecDecompressRecord): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0203, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecEndBand(ci: ComponentInstance; VAR drp: ImageSubCodecDecompressRecord; result: OSErr; flags: LONGINT): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000A, $0204, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecQueueStarting(ci: ComponentInstance): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0000, $0205, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecQueueStopping(ci: ComponentInstance): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0000, $0206, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecDroppingFrame(ci: ComponentInstance; {CONST}VAR drp: ImageSubCodecDecompressRecord): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000C, $0100, $7000, $A82A;
{$ENDC}
FUNCTION QTPhotoSetRestartInterval(codec: ComponentInstance; restartInterval: UInt16): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0002, $0101, $7000, $A82A;
{$ENDC}
FUNCTION QTPhotoDefineHuffmanTable(codec: ComponentInstance; componentNumber: INTEGER; isDC: BOOLEAN; VAR lengthCounts: UInt8; VAR values: UInt8): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000C, $0102, $7000, $A82A;
{$ENDC}
FUNCTION QTPhotoDefineQuantizationTable(codec: ComponentInstance; componentNumber: INTEGER; VAR table: UInt8): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0006, $0103, $7000, $A82A;
{$ENDC}
{ source identifier -- placed in root container of description, one or more required }
CONST
kEffectSourceName = 'src ';
{ source type -- placed in the input map to identify the source kind }
kEffectDataSourceType = 'dtst';
{ default effect types }
kEffectRawSource = 0; { the source is raw image data }
kEffectGenericType = 'geff'; { generic effect for combining others }
TYPE
EffectSourcePtr = ^EffectSource;
SourceDataPtr = ^SourceData;
SourceData = RECORD
CASE INTEGER OF
0: (
image: CDSequenceDataSourcePtr;
);
1: (
effect: EffectSourcePtr;
);
END;
EffectSource = RECORD
effectType: LONGINT; { type of effect or kEffectRawSource if raw ICM data }
data: Ptr; { track data for this effect }
source: SourceData; { source/effect pointers }
next: EffectSourcePtr; { the next source for the parent effect }
END;
EffectsFrameParamsPtr = ^EffectsFrameParams;
EffectsFrameParams = RECORD
frameTime: ICMFrameTimeRecord; { timing data }
effectDuration: LONGINT; { the duration of a single effect frame }
doAsync: BOOLEAN; { set to true if the effect can go async }
pad: PACKED ARRAY [0..2] OF UInt8;
source: EffectSourcePtr; { ptr to the source input tree }
refCon: Ptr; { storage for the effect }
END;
FUNCTION ImageCodecEffectSetup(effect: ComponentInstance; VAR p: CodecDecompressParams): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0300, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecEffectBegin(effect: ComponentInstance; VAR p: CodecDecompressParams; ePtr: EffectsFrameParamsPtr): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0008, $0301, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecEffectRenderFrame(effect: ComponentInstance; p: EffectsFrameParamsPtr): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0302, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecEffectConvertEffectSourceToFormat(effect: ComponentInstance; sourceToConvert: EffectSourcePtr; requestedDesc: ImageDescriptionHandle): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0008, $0303, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecEffectCancel(effect: ComponentInstance; p: EffectsFrameParamsPtr): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0304, $7000, $A82A;
{$ENDC}
FUNCTION ImageCodecEffectGetSpeed(effect: ComponentInstance; parameters: QTAtomContainer; VAR pFPS: Fixed): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0008, $0305, $7000, $A82A;
{$ENDC}
{ curve atom types and data structures }
CONST
kCurvePathAtom = 'path';
kCurveEndAtom = 'zero';
kCurveAntialiasControlAtom = 'anti';
kCurveAntialiasOff = 0;
kCurveAntialiasOn = $FFFFFFFF;
kCurveFillTypeAtom = 'fill';
kCurvePenThicknessAtom = 'pent';
kCurveMiterLimitAtom = 'mitr';
kCurveJoinAttributesAtom = 'join';
kCurveMinimumDepthAtom = 'mind';
kCurveDepthAlwaysOffscreenMask = $80000000;
kCurveTransferModeAtom = 'xfer';
kCurveGradientAngleAtom = 'angl';
kCurveGradientRadiusAtom = 'radi';
kCurveGradientOffsetAtom = 'cent';
kCurveARGBColorAtom = 'argb';
TYPE
ARGBColorPtr = ^ARGBColor;
ARGBColor = RECORD
alpha: UInt16;
red: UInt16;
green: UInt16;
blue: UInt16;
END;
CONST
kCurveGradientRecordAtom = 'grad';
TYPE
GradientColorRecordPtr = ^GradientColorRecord;
GradientColorRecord = RECORD
thisColor: ARGBColor;
endingPercentage: Fixed;
END;
GradientColorPtr = ^GradientColorRecord;
CONST
kCurveGradientTypeAtom = 'grdt';
{ currently supported gradient types }
kLinearGradient = 0;
kCircularGradient = 1;
TYPE
GradientType = LONGINT;
FUNCTION CurveGetLength(effect: ComponentInstance; VAR target: gxPaths; index: LONGINT; VAR wideLength: wide): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000C, $0100, $7000, $A82A;
{$ENDC}
FUNCTION CurveLengthToPoint(effect: ComponentInstance; VAR target: gxPaths; index: LONGINT; length: Fixed; VAR location: FixedPoint; VAR tangent: FixedPoint): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0014, $0101, $7000, $A82A;
{$ENDC}
FUNCTION CurveNewPath(effect: ComponentInstance; VAR pPath: Handle): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $0102, $7000, $A82A;
{$ENDC}
FUNCTION CurveCountPointsInPath(effect: ComponentInstance; VAR aPath: gxPaths; contourIndex: UInt32; VAR pCount: UInt32): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $000C, $0103, $7000, $A82A;
{$ENDC}
FUNCTION CurveGetPathPoint(effect: ComponentInstance; VAR aPath: gxPaths; contourIndex: UInt32; pointIndex: UInt32; VAR thePoint: gxPoint; VAR ptIsOnPath: BOOLEAN): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0014, $0104, $7000, $A82A;
{$ENDC}
FUNCTION CurveInsertPointIntoPath(effect: ComponentInstance; VAR aPoint: gxPoint; thePath: Handle; contourIndex: UInt32; pointIndex: UInt32; ptIsOnPath: BOOLEAN): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0012, $0105, $7000, $A82A;
{$ENDC}
FUNCTION CurveSetPathPoint(effect: ComponentInstance; VAR aPath: gxPaths; contourIndex: UInt32; pointIndex: UInt32; VAR thePoint: gxPoint; ptIsOnPath: BOOLEAN): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0012, $0106, $7000, $A82A;
{$ENDC}
FUNCTION CurveGetNearestPathPoint(effect: ComponentInstance; VAR aPath: gxPaths; VAR thePoint: FixedPoint; VAR contourIndex: UInt32; VAR pointIndex: UInt32; VAR theDelta: Fixed): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0014, $0107, $7000, $A82A;
{$ENDC}
FUNCTION CurvePathPointToLength(ci: ComponentInstance; VAR aPath: gxPaths; startDist: Fixed; endDist: Fixed; VAR thePoint: FixedPoint; VAR pLength: Fixed): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0014, $0108, $7000, $A82A;
{$ENDC}
FUNCTION CurveCreateVectorStream(effect: ComponentInstance; VAR pStream: Handle): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0010, $010A, $7000, $A82A;
{$ENDC}
FUNCTION CurveAddPathAtomToVectorStream(effect: ComponentInstance; pathData: Handle; vectorStream: Handle): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0008, $010B, $7000, $A82A;
{$ENDC}
FUNCTION CurveAddZeroAtomToVectorStream(effect: ComponentInstance; vectorStream: Handle): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2F3C, $0004, $010C, $7000, $A82A;
{$ENDC}
FUNCTION CurveGetAtomDataFromVectorStream(effect: ComponentInstance; vectorStream: Handle; atomType: LONGINT; VAR dataSize: LONGINT; VAR dataPtr: Ptr): ComponentResult;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}